-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Vtadmin monitoring integration #19000
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: crangavajha1 <crangavajha1@bloomberg.net>
Signed-off-by: crangavajha1 <crangavajha1@bloomberg.net>
Review ChecklistHello reviewers! 👋 Please follow this checklist when reviewing this Pull Request. General
Tests
Documentation
New flags
If a workflow is added or modified:
Backward compatibility
|
|
📝 Documentation updates detected! New suggestion: Add changelog entry for VTAdmin monitoring integration |
|
📝 Documentation updates detected! New suggestion: Document VTAdmin monitoring integration |
|
This PR is being marked as stale because it has been open for 30 days with no activity. To rectify, you may do any of the following:
If no action is taken within 7 days, this PR will be closed. |
Description
This PR implements the frontend support for integrating external monitoring tools (like Grafana and PMM) directly into VTAdmin, addressing some of the goals outlined in RFC: Integrate PMM into vtadmin (#11191).
Added a flexible, configuration-driven mechanism to link VTAdmin entities (Clusters, Tablets, Gates) to external dashboards. This allows VTAdmin to serve as a "single view" for Vitess operations, enabling users to navigate seamlessly from topology views to deep-dive metrics.
Introduced new environment variables to define dashboard URL patterns. These templates support dynamic placeholders that are replaced with context-specific data at runtime.
VITE_VITESS_MONITORING_CLUSTER_TEMPLATE: For cluster-level metrics.VITE_VITESS_MONITORING_VTTABLET_TEMPLATE: For tablet metrics.VITE_VITESS_MONITORING_VTGATE_TEMPLATE: For vtgate metrics.VITE_MYSQL_MONITORING_TEMPLATE: For underlying MySQL instance metrics (e.g., PMM).Supported Placeholders:
{cluster},{keyspace},{shard},{alias},{hostname},{type},{cell},{pool}.UI Integration
vtctld.vtgate.Demo & Verification
To demonstrate this functionality and provide a reference implementation, I have updated the
examples/vtadmindirectory.docker-composesetup with Prometheus, Grafana, and PMM running alongside Vitess.docker-compose.ymlis pre-wired with the newVITE_variables to link VTAdmin to the local monitoring stack.cd examples/vtadmin make upmonitoring_links_demo.mp4
Fixes: #11191